package com.arron.DesignMode.观察者.Observer;

import com.arron.DesignMode.观察者.Observable.WeatherDataObservable;

import java.util.Observable;
import java.util.Observer;


/**
 *   观察者(订阅主题的对象)
 */
public class AObserver implements Observer {


    Observable observable;

    private float pressure;
    private float humidity;

    public AObserver(Observable  observable){
        this.observable = observable;
        //像主题注册自己，即订阅主题
        observable.addObserver(this);

    }



    // 接收主题的消息，拿到数据，也可以主动去拉主题的数据（拿自己感兴趣的数据）
    @Override
    public void update(Observable o, Object arg) {

        if (o instanceof WeatherDataObservable){
            //更新自己的数据
             pressure = ((WeatherDataObservable) o).getPressure();

             humidity = ((WeatherDataObservable) o).getHumidity();

            //展示数据
            System.out.println("pressure: "+pressure + "   humidity:"+humidity);

        }



    }


}
